package cn.tedu.tmall.admin.mall.pojo.param;

import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.hibernate.validator.constraints.Range;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Pattern;

@Data
public class CategoryAddNewParam {
    /**
     * 类别名称
     */
    @NotNull(message = "添加类别失败，请提交类别名称！")
    @Pattern(regexp = "^[a-zA-Z\\u4e00-\\u9fa5][a-zA-Z0-9\\u4e00-\\u9fa5\\s]{0,9}$",
           message = "添加类别失败，类别名称必须是由中文、数字、英文字母、空格组成的1~10字符，且第1个字符必须是中文或英文字母!")
    @ApiModelProperty(value = "类别名字",required = true)
    private String name;

    /**
     * 父级类别ID，如果无父级，则为0
     */
    @NotNull(message = "添加类别失败,请选择父级类别!")
    /*Range最小值为0,最大值为long的最大值*/
    @Range(message = "添加类别失败,请选择有效的父级类别!")
    @ApiModelProperty(value = "父级类别ID,如果无父级,则为0",required = true)
    private Long parentId;


    /**
     * 关键词列表，各关键词使用英文的逗号分隔
     */
    @NotNull(message = "添加类别失败，请提交关键词列表！")
    @ApiModelProperty(value = "关键词列表,各关键词使用英文的逗号分隔",required = true)
    private String keywords;

    /**
     * 排序序号
     */
    @ApiModelProperty(value = "排序序号,必须是0~255之间的数值!",required = true)
    @NotNull(message = "添加类别失败,请选择父级类别!")
    @Range(max = 255 ,message = "添加类别失败,排序序号必须是0~255之间的数")
    private Integer sort;

    /**
     * 图标图片的URL
     */
    @ApiModelProperty(value = "图标图片的URL",required = false)
    private String icon;

    /**
     * 是否启用，1=启用，0=未启用
     */
    @ApiModelProperty(value = "是否启用",required = true)
    @NotNull(message = "添加类别失败，请选择启用状态！")
    @Range(max = 1, message = "添加类别失败，启用状态必须是0或1！")
    private Integer enable;

    /**
     * 是否显示在导航栏中，1=启用，0=未启用
     */
    @NotNull(message = "添加类别失败,请选择显示状态!")
    @Range(max=1,message = "添加类别失败,显示状态必须为0或1!")
    @ApiModelProperty(value = "是否显示在导航栏中, 1=启用, 0=未启用",required = true)
    private Integer isDisplay;

}
